package com.qf.common;

import lombok.Builder;
import lombok.Data;

/**
 * http 状态 200   404
 * 20010
 * <p>
 * 用户相关的
 * 40100
 * 订单相关
 * 40200
 * 40020
 *
 * @param
 */
@Data
@Builder
public class ResponseResult<T> {
    /**
     * 业务状态码
     */
    private int status;
    /**
     * 错误的信息
     */
    private String msg;
    /**
     * 用户提示语  用户密码错误
     */
    private String tip;
    /**
     * 成功返回的数据
     */
    private T data;

    /**
     * 正常 99.999
     *
     * @param data
     * @param <T>
     * @return
     */
    public static <T> ResponseResult<T> success(T data) {
        return ResponseResult.<T>builder()
                .status(200)
                .msg("success")
                .data(data)
                .build();
    }


    public static <T> ResponseResult<T> error() {
        return error(404, "error");
    }

    /**
     * 重载方法
     */

    public static <T> ResponseResult<T> error(int status, String msg) {
        return ResponseResult.<T>builder()
                .status(status)
                .msg(msg)
                .build();
    }
}
